
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出异步调用 ============================== //

export default {
  // —————————————————————————————— 改 —————————————————————————————— //

  async remoteEdit(context) {
    const { state: { API, MAP, one }, getters: { GETTER }, rootState } = context
    const isLineHasVideo = GETTER.isLine && !one.siteJson === '{}' // 修改周界线，但旧周界线不存在
    const isVideoHasLine = GETTER.isVideo && (one.left === null || one.top === null) // 修改视频点位，但视频点位不存在

    const TIP = API.transTip(isLineHasVideo || isVideoHasLine ? MAP.tipAdd : MAP.tipEdit, rootState.API)
    const msg = await API.edit(one, TIP)

    return msg
  },

  // —————————————————————————————— 删 —————————————————————————————— //

  async remoteDel(context) {
    const { state: { API, MAP, one }, getters: { GETTER }, rootState } = context
    const isLineHasVideo = GETTER.isLine && one.left !== null && one.top !== null // 删除周界线，存在视频点位
    const isVideoHasLine = GETTER.isVideo && !CORE.isEmpty(one.site) // 删除视频点位，存在周界线

    const TIP = API.transTip(MAP.tipDel, rootState.API)
    let msg
    if (isLineHasVideo) msg = await API.edit({ ...one, siteJson: '{}' }, TIP)
    else if (isVideoHasLine) msg = await API.edit({ ...one, longitude: '0', latitude: '0' }, TIP)
    else msg = await API.del(one, TIP)

    return msg
  },
}
